#ifndef _HOME_SERVER_INTERFACE_
#define _HOME_SERVER_INTERFACE_

#include "status.h"

enum eHSResult
{
	HS_SUCCESS,
	HS_FAILED,
	// HTTP Server Error.
	HS_HTTP_ERROR,
	HS_HTTP_PORT_ERROR
};

class IHomeServer
{
public:
	virtual eHSResult StartServer() = 0;
	virtual eHSResult StopServer() = 0;
	virtual eHSResult WaitForStop() = 0;
	virtual const wchar_t * GetErrorCode(eHSResult code) = 0;
	virtual eHSResult Login(const wchar_t * username, const wchar_t * passwd) = 0;
	virtual eHSResult Logout() = 0;
	virtual CServerStatus GetStatus() = 0;
	virtual const wchar_t * GetShareFolder(int index) = 0;
	virtual eHSResult AddShareFolder(const wchar_t * folder) = 0;
	virtual eHSResult RemoveShareFolder(const wchar_t * folder) = 0;
};

#endif